@echo off
chcp 65001
cd "d:\source pro\HydroPostGIS"

REM 清理旧的构建文件
rmdir /s /q build
rmdir /s /q dist
rmdir /s /q hydropostgis.egg-info

REM 更新版本号
echo 更新版本号...
powershell -Command "(Get-Content -Encoding UTF8 setup.py) -replace 'version=\"0.1.0\"', 'version=\"0.1.1\"' | Set-Content -Encoding UTF8 setup.py"
echo 新版本号:
findstr "version=" setup.py

REM 检查包结构
echo 检查包结构...
dir /s /b hydropostgis\*.py > package_files.txt
type package_files.txt

REM 检查__init__.py文件
echo 检查__init__.py文件...
type hydropostgis\__init__.py

REM 创建测试脚本
echo 创建测试脚本...
echo import sys > test_import_debug.py
echo print(f"Python版本: {sys.version}") >> test_import_debug.py
echo print("Python路径:") >> test_import_debug.py
echo for path in sys.path: >> test_import_debug.py
echo     print(path) >> test_import_debug.py
echo. >> test_import_debug.py
echo try: >> test_import_debug.py
echo     import site >> test_import_debug.py
echo     print("\n站点包路径:") >> test_import_debug.py
echo     for path in site.getsitepackages(): >> test_import_debug.py
echo         print(path) >> test_import_debug.py
echo except ImportError: >> test_import_debug.py
echo     print("无法导入site模块") >> test_import_debug.py
echo. >> test_import_debug.py
echo try: >> test_import_debug.py
echo     import hydropostgis >> test_import_debug.py
echo     print(f"\n成功导入hydropostgis") >> test_import_debug.py
echo     print(f"包路径: {hydropostgis.__file__}") >> test_import_debug.py
echo except ImportError as e: >> test_import_debug.py
echo     print(f"\n导入hydropostgis失败: {e}") >> test_import_debug.py

REM 构建新的分发包
echo 开始构建分发包...
python -m build

REM 检查构建的包
echo 检查构建的包...
if exist dist\* (
    twine check dist\*
) else (
    echo 构建失败，没有生成分发包文件
)

REM 上传到PyPI
echo 上传到PyPI...
if exist dist\* (
    twine upload dist\*
) else (
    echo 没有分发包文件可上传
)

REM 测试安装(在另一个命令窗口中)
echo 测试安装命令: pip install --upgrade hydropostgis
echo 测试导入命令: python test_import_debug.py